C++/MFC

您所在的位置:网站首页 powder brush颜色 C++/MFC

C++/MFC

2024-07-14 08:57| 来源: 网络整理| 查看: 265

一、CBrush成员函数 1.1构造函数

CBrush( );

CBrush( COLORREF crColor ); //类似CreateSolidBrush

CBrush( int nIndex, COLORREF crColor )  //类似CreateHatchBrush

CBrush( CBitmap* pBitmap );  //类似CreatePatternBrush

1.2成员函数

CreateSolidBrush

创建并初始化画刷,指定其颜色

CreateHatchBrush

创建并初始化画刷,指定其颜色和阴影风格

CreatePatternBrush

初始化画刷为标准位图样式指定一个位图句柄

CreateBrushIndirect

创建并初始化画刷,用LOGBRUSH这个结构指定样式(画刷风格,颜色,阴影风格)

CreateDIBPatternBrush

初始化画刷为 (DIB位图样式).

CreateSysColorBrush

创建一个画刷 用系统默认颜色样式,可以指定其画刷风格.

二、画刷风格 2.1 lbStyle       

指定了刷子的风格。

   lbStyle成员必须是以下风格之一:

BS_DIBPATTERN    一个代模板的刷子,用设备无关位图(DIB)来定义。如果lbStyle为BS_DIBPATTERN,那么lbHatch成员中包含了压缩DIB的句柄。

BS_DIBPATTERNPT        一个代模板的刷子,用设备无关位图(DIB)来定义。如果lbStyle为BS_DIBPATTERNPT,那么lbHatch成员中包含了指向压缩DIB的指针。

BS_HATCHED 阴影刷子。

BS_HOLLOW  空刷子。

BS_NULL 与BS_HOLLOW相同。

BS_PATTERN  用内存位图定义的模板刷子。

BS_SOLID        实心刷子。

2.2 lbColor     

指定了画出刷子的颜色。

   如果lbStyle为BS_HOLLOW或BS_PATTERN风格,将会忽略lbColor。

   如果lbStyle为BS_DIBPATTERN或BS_DIBPATTERNBT, 则lbColor的低位字指定了BITMAPINFO结构的bmiColors成员是包含了准确的红、绿、蓝(RGB)值还是包含当前使用的逻辑调色板的索引。lbColor成员可以取如下值之一:

·DIB_PAL_COLORS  颜色表中包含了当前使用的逻辑调色板中的16位索引数组。

·DIB_RGB_COLORS 颜色表中包含了准确的RGB值。

2.3 lbHatch     

指定了阴影的风格。

   其含义依赖于lbStyle所定义的刷子风格。如果lbStyle为BS_DIBPATTERN,则lbHatch成员中包含了包装的DIB的句柄。如果lbStyle为BS_DIBPATTERNPT,则lbHatch成员中包含了包装的DIB的指针。如果lbStyle为BS_HATCHED,则lbHatch成员指定了创建阴影时使用的线条的方向。它可以取下面列出的值:

·        HS_BDIAGONAL      45度向上,从左到右的阴影。

·        HS_CROSS             纵横交叉的阴影。

·        HS_DIAGCROSS       45度交叉的阴影。

·        HS_FDIAGONAL      45度向下,从左到右的阴影。

·        HS_HORIZONTAL    水平阴影。

·        HS_VERTICAL     垂直阴影。

      如果lbStyle是BS_PATTERN,则lbHatch为定义了模板的位图句柄。如果lbStyle为BS_SOLID或BS_HOLLOW,则lbHatch被忽略。

      注释:lbColor控制着阴影刷子的前景色,CDC::SetBkMode和CDC::SetBkColorbm函数控制着背景色。

三、简单示例

VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3